The use of computers has become vital to the operation of many government, business, and military operations. Loss of computer availability can disrupt operations resulting in degraded services, loss of revenue, and even the possibility of human casualty.
For example, disruption of financial systems, electronic messaging, mobile communications, and Internet sales sites can result in loss of revenue. Disruption of an industrial process control system or health care system may result in loss of life in addition to loss of revenue.
Some applications can accommodate an occasional error or short delay but otherwise require high availability, continuous availability, or fault tolerance of a computer system. Other applications, such as air traffic control and nuclear power plant control, may incur a high cost in terms of human casualties and property destruction when the computer systems are not available to support the intended processing purpose.
The classifications of high availability, continuous availability and fault tolerance may be further distinguished in terms of recovery point objective and recovery time objective. The recovery point objective is a measure of the amount of data loss that is considered acceptable. The recovery time objective is a measure of acceptable downtime for a computer system after a fault.
Replication of data is an integral part of achieving a desired recovery point or recovery time objective. However, a local copy is susceptible to any catastrophic event that might disable the primary computer system. To protect against a catastrophic failure, the data is typically replicated to a different geographic location. The data being replicated may be compressed for transport in order to conserve network resources.
Enterprise backup software typically offers data compression to a nonvolatile storage media (e.g., magnetic tape, magnetic or optical disk, etc.). Backup software can achieve high compression ratios on a static data set. The high compression is possible in part, however, because the backups are often executed on computers at non-peak times or sometimes on dedicated computers with significant processing, memory and disk resources. The backup software is thus not limited to operating under the computational resource constraints that ordinarily apply. The backup process can take minutes or even hours to complete. Although a prior art backup systems might achieve compression factors on the order of 30×, one disadvantage of prior art backup systems is that they do not perform real time or near real time backup of data. Enterprise backup systems typically have recovery point and recovery time objectives both in excess of 15 minutes that renders such systems unsuitable as the compression mechanism for replication in continuous availability applications.
Prior art wide area network (WAN) optimization products may likewise provide for compression of replicated data for transport. Unlike backup products, however, WAN optimization products need to operate in real time or near real time. WAN optimization products are compressing network messages that typically need to be delivered in less than second. WAN optimization products have limited time and computing resource to process each message. Due to the time constraints, prior art WAN optimization products typically only achieve compression factors of up to 5×.
Thus although enterprise backup systems offers a desirable compression factor, the potential for loss of larger amounts of data and longer recovery time relegates such systems to archival and manual recovery protection rather than continuous availability applications. Although the WAN optimization products may provide a near-real time compression, the compression factor is considerably less than that available from enterprise backup systems due to time constraints. The lower compression factor results in greater consumption of network resources that typically implies a greater cost for replication due to network bandwidth consumption.